package com.mo.core.util;

import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 非Controller中获取当前session的工具类
 *
 * @author chenxiaodong
 * @date 2016年11月28日 上午10:24:31
 */
public class HtmlUtil {
	
	/**
	 * 获取图文里面的图片
	 * @param textHtml
	 * @param imgUrl
	 * @return
	 */
	public static List<String> getImgUrlFromHtml(String textHtml,String imgUrl) {
//		String s = "& lt;p align=\"center\"& gt;& lt;img src=\"abc/b061d607d81947f1b1a392bed71909a7.jpg\" style=\"max-width:100%;\" class=\"\"& gt;& lt;/p& gt;& lt;p align=\"center\"& gt;chenxiaodongceshi& lt;/p& gt;& lt;ol& gt;& lt;li& gt;& lt;div align=\"center\"& gt;& lt;span style=\"background-color: rgb& #40;249, 150, 59& #41;;\"& gt;& lt;a href=\"http://baidu.com\" target=\"_blank\"& gt;woshichenxiaodong& lt;/a& gt;& lt;/span& gt;& lt;/div& gt;& lt;/li& gt;& lt;li& gt;& lt;div align=\"center\"& gt;& lt;font color=\"#8baa4a\"& gt;bierenbushi& lt;/font& gt;& lt;/div& gt;& lt;/li& gt;& lt;li& gt;& lt;div align=\"center\"& gt;& lt;strike& gt;h& lt;strong& gt;​& lt;/strong& gt;& lt;strong& gt;​& lt;/strong& gt;aiyoushuishi& lt;/strike& gt;& lt;/div& gt;& lt;/li& gt;& lt;/ol& gt;& lt;ul& gt;& lt;li& gt;haiyouhaoduoneiron& lt;br& gt;& lt;/li& gt;& lt;/ul& gt;& lt;p& gt;& lt;img src=\"44d1730157674591965dd44a255cad41.jpg\" style=\"max-width:100%;\"& gt;& lt;/p& gt;";

		String content = getContentStr(textHtml);
        String patternStr="<img\\s*([^>]*)\\s*src=\\\"(.*?)\\\"\\s*([^>]*)>";  
        Pattern pattern = Pattern.compile(patternStr,Pattern.CASE_INSENSITIVE);  
        Matcher matcher = pattern.matcher(content);  
		List<String> result=new LinkedList<String>();
		while(matcher.find()){
			String srcStr = matcher.group();
			result.add(srcStr.substring(9,srcStr.length()-2));
		}
		return result;
	}
	static String getContentStr (String textHtml){
		String replace = textHtml.replace("& lt;", "<");
		String replace2 = replace.replace("& gt;", ">");
		String replace3 = replace2.replace("& #40;", "(");
		String content = replace3.replace("& #41;", ")");
		return content;
	}
	 /** 
     * 将img标签中的src进行二次包装 
     * @param content 内容 
     * @param replaceHttp 需要在src中加入的域名 
     * @param size 需要在src中将文件名加上_size 
     * @return 
     */  
    public static String repairContent(String textHtml,String replaceHttp){  
		String content = getContentStr(textHtml);	
//		int size = content.length();
        String patternStr="<img\\s*([^>]*)\\s*src=\\\"(.*?)\\\"\\s*([^>]*)>";  
        Pattern pattern = Pattern.compile(patternStr,Pattern.CASE_INSENSITIVE);  
        Matcher matcher = pattern.matcher(content);  
        String result = content;  
        while(matcher.find()) {  
            String src = matcher.group(2);  
            String replaceSrc = "";  
            if(src.lastIndexOf(".")>0){  
            	replaceSrc = src;
//                replaceSrc = src.substring(0,src.lastIndexOf("."))+"_"+size+src.substring(src.lastIndexOf("."));  
            }  
            if(!src.startsWith("http://")&&!src.startsWith("https://")){  
                replaceSrc = replaceHttp + replaceSrc;  
            }  
            result = result.replaceAll(src,replaceSrc);  
        }   
        return result.replace("\"", "'");  
    }
}
